NMEA: Fix obscure mem leak on AMOD waypoints. As a bonus, created points now have...
authorrobertl <robertl>
Sat, 16 Aug 2008 16:52:18 +0000 (16:52 +0000)
committerrobertl <robertl>
Sat, 16 Aug 2008 16:52:18 +0000 (16:52 +0000)
nmea.c
reference/track/amod.gpx

diff --git a/nmea.c b/nmea.c
index e11b8906398a190a6cc601beca43e91fc0efac71..4143e9dffd643f15d9c723d17b17734e77bdac05 100644 (file)
--- a/nmea.c
+++ b/nmea.c
@@ -549,8 +549,12 @@ gprmc_parse(char *ibuf)
                         * going from 235959 to 000000. */
                         nmea_set_waypoint_time(curr_waypt, &tm, microseconds);
                }
-                if (!amod_waypoint)
-                       return;
+                /* This point is both a waypoint and a trackpoint. */
+                if (amod_waypoint) {
+                       waypt_add(waypt_dupe(curr_waypt));
+                       amod_waypoint = 0;
+                }
+               return;
        }
                
        waypt  = waypt_new();
@@ -570,6 +574,7 @@ gprmc_parse(char *ibuf)
        nmea_release_wpt(curr_waypt);
        curr_waypt = waypt;
 
+       /* This point is both a waypoint and a trackpoint. */
        if (amod_waypoint) {
                waypt_add(waypt_dupe(waypt));
                amod_waypoint = 0;
index 1ed5e99431c87c237bb5041bc1a8b9397cf573a1..e086bd23dcc344806c8425a68ecebe48d733a8df 100644 (file)
@@ -14,10 +14,16 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/
   <desc>WPT001</desc>
 </wpt>
 <wpt lat="35.824985000" lon="-86.847065000">
+  <ele>269.900000</ele>
 <time>2008-06-05T20:06:44Z</time>
   <name>WPT002</name>
   <cmt>WPT002</cmt>
   <desc>WPT002</desc>
+  <fix>3d</fix>
+  <sat>6</sat>
+  <hdop>1.300000</hdop>
+  <vdop>1.800000</vdop>
+  <pdop>2.200000</pdop>
 </wpt>
 <trk>
 <trkseg>